"""文件"""
# 内存无法永久保存数据，但凡我们想要永久保存数据都需要把文件保存到硬盘中，而操作文件就可以实现对硬件的操作。

"""文件操作"""
# 如果我们需要打开一个文件，需要向操作系统发起请求，要求操作系统打开文件，占用操作系统资源。
# Python中使用open()方法可以打开某个具体的文件，open()方法内写入文件路径
# 打开文件 -> 读、写 -> 关闭文件

"""路径管理"""
# 绝对路径
#   Windows系统绝对路径从盘符（C:\、D:\）开始写一个完整的路径。
#   MacOS系统从根目录(/Users)开始写一个完整的路径。
# 相对路径
#   ./ ../


"""文件打开模式之 r 模式"""
# r模式 -> read，只读模式，只能读不能写，文件不存在时报错 -> 默认模式
#    t模式为text -> 默认模式
#    b模式为bytes


"""文件打开模式之 w 模式"""
# w模式 -> 只能写，不能读，1 文件存在的时候回清空文件后再写入内容；2 文件不存在的时候会创建文件后 写入内容。
#   windows的操作系统默认编码为gbk，因此需要使用utf8编码
data = {
    "info": {
        "names": "我爱大肉排",
        "_postman_id": "c8133924-43d9-46dd-91a8-65a7b4104bf9",
        "name": "crmeb",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    }
}
# fw = open("./tests.txt", mode="w", encoding='utf-8')
# fw.write(str(data))


"""文件打开模式之 a 模式"""
# a模式 -> 可以追加。文件存在，则在文件的末端写入内容；文件不存在的时候会创建文件后写入内容。
# data = "大变态"
# fa = open("./tests.txt", mode="a", encoding="utf8")
# fa.write("\n" + str(data))


with open("./test.txt", mode="a", encoding="utf8") as f:
    f.write(data)
#

"""with管理文件操作上下文"""
# open打开文件后我们还需要手动释放文件对操作系统的占用。但是其实我们可以更方便的打开文件，即Python提供的上下文管理工具——with open()
# print("aaa")
# with open("./object_07_FilesDemo.txt", "r", encoding="utf-8") as fr:
#     for i in fr.readlines():
#         if "\n" in i:
#             new_str = i.replace("\n", "")
#             print(new_str.split("\t\t"))
# print("bbb")
